Speech processing units are an important part of modern digital communication systems such as, for example, mobile communication systems. These speech processing units are usually located in a switching node of the communication system and consist of a coding entity and a decoding entity, in short: a codec. In many third generation (3G) mobile communication systems, speech processing units are connected to the radio network via packet-switched transmission links. The bandwidth of these transmission links is shared by a large number of speech and/or data channels. Unlike narrow-band circuit-switched links, compressed speech frames can be transported over a packet-switched transmission link in a very short time. For example, in second generation (2G) Global System for Mobile Communications (GSM) systems, the transport of an adaptive multi-rate (AMR) speech packet over a 16-kbps Abis link takes about 17 ms, whereas in the Universal Mobile Telecommunications System (UMTS) the same packet can be sent over a 2-Mbps lu link in less than 1 ms.
The overall speech signal delay depends on the transmission delay and the scheduling delay between the radio network and the speech processing unit. Since the transmission delay between radio network nodes and speech processing unit is rather small, the speech signal delay between radio network nodes and speech processing unit is mainly limited by the availability of processing capacity of the speech processing unit. The maximum number of channels handled by the speech processing unit is limited by its total processing capacity divided by the speech coding algorithm complexity.
A speech coder provides processing capacity by means of one or several digital signal processors (DSPs). The processing of speech coding algorithms is usually based on small segments, so called frames. Every speech frame of each channel requires a certain amount of time to be processed, both for the uplink and the downlink direction. The processing time of these frames typically ranges between 10 and 20 milliseconds. For example, in GSM all speech codecs, i.e. Full Rate (FR), Enhanced Full Rate (EFR), Half Rate (HR) and Adaptive Multi-Rate (AMR) are based on 20 ms frame processing. The processing window of the speech processing unit is divided into a number of time slots. Some of the time slots in a frame are used for encoding tasks while the remainder are used for decoding tasks.
In a delay-optimised scenario, the processing power of the speech processing unit would be available for each of the channels exactly when needed, that is, each channel would run in an ideal time slot of the processing window, which minimizes the scheduling delay for all channels to be processed by the speech processing unit. In UMTS systems, for example, speech processing units are implemented in media gateways, which are connected to the radio network via asynchronous transfer mode (ATM). Since no synchronisation between the radio network nodes and the speech processing units in the core network exists, the data processing (more specifically, the encoding and decoding tasks in the speech processing unit) in general suffers from severe scheduling delays. These delays exist in the downlink direction from the speech processing unit to the radio network nodes as well as in the uplink direction from the radio network nodes to the speech processing unit.
In the downlink, a time alignment procedure to minimize the buffer delay in a radio network node (for example, a radio network controller (RNC)), is performed between the speech processing unit and the RNC. This time alignment procedure is proposed in the Third Generation Partnership Project (3GPP) standardization document 25.415 and is mainly based on a ‘request/acknowledge scheme’. That means, the radio network node orders the offset correction in the uplink direction, and the speech coder executes and acknowledges the time alignment in the downlink direction. By such a time alignment request, a specific encoding or decoding task is assigned to a new time slot in the speech processing unit. The time slot, which yields minimal scheduling delay for further processing of a data packet, is called the target time slot.
The problem with this procedure is that the radio network node is not aware whether the speech processing unit is able to fulfil the request at the moment it is requested to do so. Since the speech processing unit supports several channels simultaneously, the target time slot minimizing the scheduling delay may currently be used for processing another user's data packet. This is even more likely when the speech processing unit is heavily loaded, for example during so called ‘busy-hours’. In this case, the speech processing unit returns a ‘time alignment not possible’ to the requesting radio network node. As described in the 3GPP standardization document 25.415, this problem is currently being solved by repeating the time alignment request for a certain number of times. However, it is fairly unlikely that the moment that any of these time alignment requests is received at the speech processing unit will exactly match the moment that the speech processing unit releases the target time slot (or another delay-reducing time slot) for processing. On the other hand, too many time alignment requests in short intervals will result in a lot of unnecessary traffic between the speech processing unit and the radio network nodes.
In the uplink, there also exists a certain probability that data packets coming from a radio network node may be processed with severe scheduling delays in the speech processing unit.
The above described problems in downlink and uplink transmission exist both in the case of a single radio network node communicating with a speech processing unit, and in the case of multiple radio network nodes communicating with a single speech processing unit.
There is a need for a method and a device for efficiently reducing the scheduling delay of data packets between a speech processing unit and one or several radio network nodes in a digital communication system in the downlink direction as well as in the uplink direction, and also for reducing the roundtrip delay, i.e. the combination of scheduling delay in the uplink and downlink directions.